package com.kmxd.ams.client.arrange.dto;

import com.kmxd.ams.core.common.enums.ArchOpEnum;
import com.kmxd.ams.core.common.enums.ArchOperateTitleOptionsEnum;
import com.kmxd.ams.core.common.enums.ArchOperateTypeEnum;
import com.kmxd.ams.core.common.enums.ArchStatusEnum;
import com.kmxd.ams.infra.arrange.base.BaseBO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 档案复制
 *
 * @author nickbi
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class VolumeCopyDTO extends BaseBO {

  /** 1条目信息，1条目信息+电子文件 */
  @Schema(description = "复制内容，1条目信息，2条目信息+电子文件 *")
  private Integer type = ArchOperateTypeEnum.ITEM.getCode();

  /** 题名处理 1 添加前缀（复制）， 2保持不变 */
  @Schema(description = "题名处理 1 添加前缀（复制）， 2保持不变")
  private Integer titleOptions = ArchOperateTitleOptionsEnum.ORIGIN.getCode();

  /** 状态 */
  @Schema(description = "状态")
  private Integer status = ArchStatusEnum.S0.getCode();

  @Schema(description = "主键id")
  private Long id;

  @Schema(description = "文件表名")
  private String docTableId;

  @Schema(description = "新案卷表名")
  private String newVolumeTableId;

  @Schema(description = "新门类id")
  private Long newArchTypeId;

  @Schema(description = "新案卷条目表名")
  private String newDocTableId;

  @Schema(description = "操作类型1: 复制，2移动")
  private Integer opType = ArchOpEnum.COPY.getCode();

  @Schema(description = "加入项目")
  private Long newProjectId;

  @Schema(description = "项目代号")
  private String newProjectCode;

  @Schema(description = "清除档号")
  private Boolean cleanArchCode;
}
